PVE 设置硬盘直通

您所在的位置:网站首页 pve ifconfig PVE 设置硬盘直通

PVE 设置硬盘直通

2023-07-08 01:50| 来源: 网络整理| 查看: 265

PVE直通硬盘有两种方式

方法一:通过命令映射直通单块硬盘;

方法二:添加 PCI设备,直通 SATA Controller(SATA 控制器)。

方法一:通过命令映射直通单块硬盘

进入Proxmox VE(PVE)系统的SSH,或直接进入PVE管理网页Shell

查看磁盘ID

ls -l /dev/disk/by-id/

PVE系统查看磁盘详细信息及确定磁盘信息

注:ata、mmc等…表示接口方式,通常有ATA、SATA、SCS、NVME、eMMC和SASI等类型。IDE和SATA接口一般为“ata”,SCSI及SAS接口一般为”scsi“。

导入虚拟机

qm set –[n] /dev/disk/by-id/-$brand-$model_$serial_number

 : 为创建虚拟机时指定的VM ID。

[n]: 导入后的磁盘的总线类型及其编号,总线类型可以选择IDE、SATA、VirtIO Block和SCSI类型,编号从0开始,最大值根据总线接口类型有所不同,IDE为3,SATA为5,VirTIO Block为15,SCSI为13。

/dev/disk/by-id/-brand-brand−model_$serial_number : 为磁盘ID的具体路径和名称。

按照我硬盘的参数举例:

如上方的硬盘数据 ata-ST4000VX000-2AG166_ZGY163KG 为例,将此硬盘直通给VM ID编号为102的虚拟机下,总线类型接口为sata2(请根据PVE虚拟机下的总线编号设置)

qm set 102 -sata2 /dev/disk/by-id/ata-ST4000VX000-2AG166_ZGY163KG

显示返回信息

update VM 102: -sata2 /dev/disk/by-id/ata-ST4000VX000-2AG166_ZGY163KG

为直通成功。

方法二:添加 PCI设备,直通 SATA Controller(SATA 控制器)

Proxmox VE(PVE)系统直通SATA Controller(SATA 控制器),会把整个sata总线全部直通过去,就是直接将南桥或者直接把北桥连接的sata总线直通,那么有些主板sata接口就会全部被直通。

注意:如果您的PVE系统是安装在SATA的硬盘中,会导致PVE系统无法启动,所以在直通 SATA Controller(SATA 控制器),之前请先确认自己的PVE系统安装位置,或者直接将系统安装在 NVMe 硬盘中。

在开始之前请先开启IOMMU硬件直通功能后,执行下一步添加 SATA Controller(SATA 控制器)操作。

1.确认自己的主板CPU是否支持Vt-d功能

不支持就搞不了直通。intel要b75以上芯片组才支持。也就是说intel4代酷睿处理器以上,都支持。amd不明。VT-D是io虚拟化。不是VT-X。

有很多新手,以为主板开启虚拟化功能,就能直通,非也。要开启vt-d才能io虚拟化。AMD平台是iommu,某些OEM主板上叫SRIOV。请注意。

2.开启iommu

#编辑grub,请不要盲目改。根据自己的环境,选择设置

vi /etc/default/grub

#在里面找到:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

#如果是intel cpu修改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

#如果是amd cpu请改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

#如果是需要显卡直通,建议在cmdline再加一句video=vesafb:off video=efifb:off video=simplefb:off,加了之后,pve重启进内核后停留在一个画面,这是正常情况

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=vesafb:off video=efifb:off video=simplefb:off"

修改完成之后,直接更新grub 

update-grub

注意,如果此方法还不能开启iommu,请修改 

 /etc/kernel/cmdline文件

并且使用proxmox-boot-tool refresh 更新启动项

3.加载相应的内核模块

echo vfio >> /etc/modules

echo vfio_iommu_type1 >> /etc/modules

echo vfio_pci >> /etc/modules

echo vfio_virqfd >> /etc/modules

#更新内核参数

update-initramfs -k all -u

#重启主机

reboot

4.验证是否开启iommu

重启之后,在终端输入

dmesg | grep iommu

出现如下例子。则代表成功

[ 1.341100] pci 0000:00:00.0: Adding to iommu group 0

[ 1.341116] pci 0000:00:01.0: Adding to iommu group 1

[ 1.341126] pci 0000:00:02.0: Adding to iommu group 2

[ 1.341137] pci 0000:00:14.0: Adding to iommu group 3

[ 1.341146] pci 0000:00:17.0: Adding to iommu group 4

此时输入:

find /sys/kernel/iommu_groups/ -type l

#出现很多直通组,就代表成功了。如果没有任何东西,就是没有开启

选择需要设置的PVE系统,点击 硬件 > 添加 > PCI设备 > 选择 SATA Controller(SATA 控制器),最后点击“添加”把 SATA Controller(SATA 控制器)添加给相应的系统后,完成重启,PVE硬件直通的设置就生效了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3